package com.emeraldparser.util;

import java.util.Collection;

public abstract class ForwardingAutomaton<V, E> extends ForwardingGraph<V, E> implements Automaton<V, E> {

	public abstract Automaton<V, E> delegate();

	@Override
	public boolean addGraph(Graph<? extends V, ? extends E> graph) {
		return delegate().addGraph(graph);
	}

	@Override
	public boolean addAll(Automaton<? extends V, ? extends E> automaton) {
		return delegate().addAll(automaton);
	}

	@Override
	public boolean addStartVertex(V startVertex) {
		return delegate().addStartVertex(startVertex);
	}

	@Override
	public Collection<V> getStartVertices() {
		return delegate().getStartVertices();
	}

	@Override
	public boolean addAcceptVertex(V acceptVertex) {
		return delegate().addAcceptVertex(acceptVertex);
	}

	@Override
	public Collection<V> getAcceptVertices() {
		return delegate().getAcceptVertices();
	}

	@Override
	public boolean addRejectVertex(V rejectVertex) {
		return delegate().addRejectVertex(rejectVertex);
	}

	@Override
	public Collection<V> getRejectVertices() {
		return delegate().getRejectVertices();
	}

}
